//! 定义懒加载插件

import { useIntersectionObserver } from '@vueuse/core'
export const lazyPlugin = {
    install(app) {
        //！ 编写懒加载
        app.directive('img-lazy', {
            mounted(el, binding) {
                //! el：代表指令绑定的元素
                //! binding: 指令对象 binding.value 指令等于号后面绑定的表达式的值 图片 url
                const { stop } = useIntersectionObserver(
                    el,
                    ([{ isIntersecting }],) => {
                        if (isIntersecting) {
                            //! 代表图片进入视口
                            el.src = binding.value
                            stop()
                        }
                    },
                )
            },
        })
    }
}